CouchDB Database, Document, এবং JSON

Database Tutorials - কাউচডিবি (CouchDB) CouchDB এর মৌলিক ধারণা |
203
203

CouchDB একটি Document-Oriented NoSQL Database যা ডেটা JSON ফরম্যাটে ডকুমেন্ট আকারে সংরক্ষণ করে। এটি একটি ডিস্ট্রিবিউটেড এবং স্কেলেবল ডাটাবেস, যা ডেটাকে সহজে সঞ্চয়, বিশ্লেষণ এবং পরিচালনা করতে সহায়ক। এখানে আমরা CouchDB Database, Document, এবং JSON এর সম্পর্ক এবং তাদের কাজ করার পদ্ধতি নিয়ে বিস্তারিত আলোচনা করব।


1. CouchDB Database

CouchDB Database হল সেই পরিবেশ যেখানে Documents সংরক্ষণ করা হয়। একটি CouchDB ডাটাবেস একটি অসংখ্য ডকুমেন্ট ধারণ করতে পারে, এবং প্রতিটি ডকুমেন্টের মধ্যে থাকা ডেটা JSON ফরম্যাটে সংরক্ষিত হয়।

  • ডাটাবেস নাম: CouchDB তে প্রতিটি ডাটাবেসের একটি নির্দিষ্ট নাম থাকে এবং এক ডাটাবেসে একাধিক ডকুমেন্ট সংরক্ষণ করা যায়। CouchDB ডাটাবেস নাম সাধারণত alphanumeric characters দিয়ে গঠিত হয়।
  • ডাটাবেসে ডেটা সংরক্ষণ: CouchDB ডেটার স্কিমা নির্ধারণের জন্য কোন নির্দিষ্ট কাঠামো ব্যবহার করে না, ফলে বিভিন্ন ডকুমেন্ট একই ডাটাবেসে একে অপরের থেকে ভিন্ন কাঠামো ধারণ করতে পারে।
  • ডাটাবেসের ব্যবস্থাপনা: CouchDB একটি ওয়েব ভিত্তিক ইন্টারফেস (Futon বা Fauxton) প্রদান করে, যার মাধ্যমে ডাটাবেস তৈরি, পরিচালনা এবং কনফিগার করা যায়।

2. Document in CouchDB

Document হল CouchDB তে ডেটা সংরক্ষণের মৌলিক একক। প্রতিটি ডকুমেন্টের নিজস্ব একটি _id (অন্যতম পরিচিতি) এবং _rev (রিভিশন নম্বর) থাকে। এটি JSON ফরম্যাটে সংরক্ষিত থাকে, যেখানে ডকুমেন্টের মধ্যে থাকা ডেটা একটি key-value pair হিসেবে থাকে। ডকুমেন্টের মধ্যে থাকা key-value পেয়ারগুলো যে কোন ধরনের তথ্য ধারণ করতে পারে যেমন নাম, ঠিকানা, ইমেইল, বা অন্যান্য স্ট্রাকচার্ড বা আনস্ট্রাকচার্ড ডেটা।

ডকুমেন্টের গঠন:

  • _id: ডকুমেন্টের একটি ইউনিক আইডেন্টিফায়ার, যা CouchDB তে ডকুমেন্টের মূল চিহ্ন হিসেবে কাজ করে। _id একটি অনন্য চিহ্ন এবং এটি ডকুমেন্টটি চিহ্নিত করতে ব্যবহৃত হয়।
  • _rev: ডকুমেন্টের রিভিশন নম্বর, যা Multi-Version Concurrency Control (MVCC) প্রক্রিয়াতে ডকুমেন্টের সংস্করণ ট্র্যাক করতে ব্যবহৃত হয়।
  • key-value pairs: ডকুমেন্টে key-value ফরম্যাটে ডেটা থাকে, যেখানে key হলো ডেটার নাম এবং value হলো ডেটার মান।

উদাহরণ:

{
  "_id": "12345",
  "_rev": "1-2345",
  "name": "John Doe",
  "email": "john.doe@example.com",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "Springfield",
    "zip": "12345"
  }
}

উপরে দেখানো JSON ডকুমেন্টে:

  • _id হলো "12345"
  • _rev হলো "1-2345"
  • ডকুমেন্টের অন্যান্য key-value পেয়ারগুলি name, email, age, এবং address যা মানুষের তথ্য এবং অ্যাড্রেস তথ্য ধারণ করছে।

3. JSON in CouchDB

JSON (JavaScript Object Notation) হলো একটি হালকা, পাঠযোগ্য ডেটা বিনিময় ফরম্যাট যা সি, সি++, পাইটন, জাভা, জাভাস্ক্রিপ্ট সহ অধিকাংশ প্রোগ্রামিং ভাষায় সমর্থিত। CouchDB ডেটাকে JSON ফরম্যাটে সংরক্ষণ করে, যা ডকুমেন্টগুলোকে একটি নির্দিষ্ট কাঠামোতে সহজে সংরক্ষণ, আদান-প্রদান এবং বিশ্লেষণ করতে সহায়ক।

JSON ফরম্যাটের গঠন:

  • Keys: JSON ডেটাতে string ধরনের key থাকে।
  • Values: JSON ডেটার value যে কোন ধরনের হতে পারে: string, number, object, array, boolean, বা null।

JSON এর উদাহরণ:

{
  "name": "Alice",
  "age": 25,
  "isStudent": true,
  "address": {
    "city": "New York",
    "zipCode": "10001"
  },
  "hobbies": ["reading", "travelling", "coding"]
}

এই JSON ডেটাতে:

  • name, age, isStudent হল key এবং তাদের মানগুলো হল value
  • address একটি nested object যা JSON ফরম্যাটে আরও key-value পেয়ার ধারণ করে।
  • hobbies একটি array, যা একাধিক মান ধারণ করে।

4. CouchDB এবং JSON এর সম্পর্ক

  • CouchDB ডকুমেন্টগুলো JSON ফরম্যাটে সংরক্ষণ করে, ফলে ডেটার স্ট্রাকচার সহজে পরিবর্তনযোগ্য এবং স্কিমা-লেস। এটি CouchDB কে একটি অত্যন্ত নমনীয় এবং ফ্লেক্সিবল ডাটাবেস তৈরি করে, যেখানে ডেটা বিভিন্ন কাঠামোতে থাকতে পারে, যেমন অ্যারে, অবজেক্ট বা বিভিন্ন ডেটা টাইপের মিশ্রণ।
  • CouchDB তে JSON ডেটার ব্যবহার: JSON ফরম্যাটের কারণে, ডেটা সাধারণত মানুষের পক্ষে পড়া এবং লেখার জন্য সহজ, এবং এটি অন্যান্য সিস্টেম এবং অ্যাপ্লিকেশনগুলির সাথে ইন্টিগ্রেট করতে সক্ষম।

উপসংহার

CouchDB একটি শক্তিশালী, Document-Oriented NoSQL Database যা ডেটাকে JSON ফরম্যাটে Document আকারে সংরক্ষণ করে। এই ডেটা স্টোরেজ পদ্ধতি CouchDB কে একটি নমনীয়, স্কেলেবেল এবং দ্রুত ডেটা অ্যাক্সেসের জন্য উপযুক্ত ডাটাবেস সিস্টেম হিসেবে তৈরি করে। JSON ফরম্যাটে ডেটা সংরক্ষণ করার কারণে CouchDB বিভিন্ন ধরনের ডেটা স্ট্রাকচার এবং অ্যাপ্লিকেশনগুলির সাথে সহজে কাজ করতে পারে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion